Distributed computing systems are computer systems in which computer processes are split into parts that are run on multiple computers communicating over a network, such as the Internet. These systems may offer the advantage of being able to use low-cost, scalable hardware components to provide computational power similar to other, more expensive, systems and may provide relatively efficient use of computing resources by distributing the processing load of one or more users across multiple computers.
One type of architecture that may be used by distributed computing systems is a service-oriented architecture (SOA). Service-oriented architectures separate various functions into discrete units, or services, that may be combined and reused to produce different business applications. Distributed computing systems that provide web services using a service-oriented architecture may provide relatively efficient operation. However, such systems may not efficiently handle transient and/or periodic resource demands that may be encountered. Such systems may also not be able to guarantee a service level to a user of the web services.